package com.zxc.gulimall.seckill.scheduled;

import lombok.extern.slf4j.Slf4j;
import org.springframework.scheduling.annotation.Async;
import org.springframework.scheduling.annotation.EnableAsync;
import org.springframework.scheduling.annotation.EnableScheduling;
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component;

//开启定时任务
//@Slf4j
//@Component
//@EnableScheduling
//@EnableAsync  //开启异步任务功能
public class HelloScheduled {

    /*
    开启一个定时任务 TaskSchedulingAutoConfiguration
    * 1、在spring中，只允6位，不允许第七位
      2、在周几的位置，1-7分别代表周一到周日
      3、定时任务不应该阻塞，默认是阻塞的。
          1）、可以让业务以异步的方式，提交到自己的线程池
          2）、支持定时任务线程池
               TaskSchedulingProperties；不好使
          3）、让定时人物异步执行
               异步任务TaskExecutionAutoConfiguration

          解决：使用异步+定时人物来完成定时人物不阻塞的功能。

    * */
   // @Async  //希望异步执行的方法上标注
   // @Scheduled(cron = "* * * ? * 5")
   // public void hello() throws InterruptedException {
   //     log.info("hello......");
   //     Thread.sleep(3000);
   // }
}
